FROM nginx:1.18.0

LABEL author="baihongru"

# 时区设置
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone

# 环境变量
ENV NGINX_MODULES_DIR=/etc/nginx/modules
ENV TRACER_DIR=/etc/nginx/tracer
ENV WORK_DIR=/etc/nginx
ENV APP_DIR=/home/ruoyi/dist

# 安装 Trace 插件
# OpenTracing 插件与 Datadog 插件存在依赖关系
# 两类插件依赖 Nginx 镜像中的库版本
# 此处 OpenTracing 插件 v0.33.0/linux-amd64-nginx-1.18.0-ot16-ngx_http_module.so.tgz
# Datadog 插件 v1.3.7/linux-amd64-libdd_opentracing_plugin.so.gz 解压重新压缩为 tgz 格式，便于 ADD 操作
RUN mkdir -p ${TRACER_DIR}
ADD ./dep/linux-amd64-nginx-1.18.0-ot16-ngx_http_module.so.tgz ${NGINX_MODULES_DIR}
ADD ./dep/linux-amd64-libdd_opentracing_plugin.so.tgz ${TRACER_DIR}

COPY ./conf/nginx.conf ${WORK_DIR}/nginx.conf
COPY ./conf/dd.json ${TRACER_DIR}/dd.json

# 拷贝应用
RUN mkdir -p ${APP_DIR}
COPY ./package/dist/ ${APP_DIR}

# 拷贝启动脚本，用于替换入口文件中的环境变量
COPY ./start.sh ${WORK_DIR}/start.sh

WORKDIR ${WORK_DIR}
  
EXPOSE 80
EXPOSE 443

CMD ["bash", "start.sh"]
